For cloud services, there are often several key units, for example, an application server (host) and several storages, requested to operate. The storage may contain hard disks and form a RAID (Redundant Array of Independent Disks) with a number of LUN (Logical Unit Number) device assigned therein, or the storage may contain hard disks and store numbers of object storage data. In order to prevent the storage from aging and partial failure, upgrade to faster storage for better performance, or downgrade to more economical storage for the cost reason, data storage in one storage (or LUN) should be copied to or moved to another storage (or LUN) after a period of time of use. The reconstruction of data may be a means of data backup or data migration. Of course, the storages may be separated in different locations. Data transmission can be done over LAN (Local Area Network) or WAN (Wide Area Network).
Conventionally, there are three methods to implement data copying or moving (reconstructing), i.e. offline method, mirroring method and dual write and snapshot image copying method. For the offline method, please refer to FIG. 1. Three steps are applied in the offline method. An application server 1 accesses data in a source storage 2 in STEP 1. These access operations are requested by users. In STEP 2, a data duplicating server 4 is in charge of data reconstruction from the source storage 2 to a target storage 3. Meanwhile, the application server 1 is shut down and doesn't provide services. When the data reconstruction in the target storage 3 is complete in STEP 3, the application server 1 boots and links to the target storage 3. Thus, the service that the application server 1 provides can keep going on. Although the offline method is simple to implement, it has a problem of service interruption. For busy cloud services, it is not acceptable.
The mirroring method is illustrated in FIG. 2. There are also three main steps. STEP 1 describes an application server 1 that links to and accesses a source storage 2 while the data in the source storage 2 is going to be reconstructed in a target storage 3. In STEP 2, the source storage 2 starts mirroring-like-service and duplicates the data it contains to the target storage 3. After STEP 2 is completed, the source storage 2 and the target storage 3 switch roles, and the application server 1 links to and accesses the target storage 3 (now, it becomes a source storage) as shown in STEP 3 in FIG. 2.
Different from the offline method, the storages used in the mirroring method must be provided by the same vendor or run by one-storage hypervisor. Mirroring function must be available between the storages. If the efficiency of the target storage 3 is worse than that of the source storage 2, the application server 1 will experience service interruption. Meanwhile, additional mirroring sync of the storages will affect the performance of the source storage 2. Most important of all, the application server 1 needs to reboot to switch over source storage's identity to that of the target storage. It incurs another interruption.
The dual write and snapshot image copying method is illustrated in FIG. 3. An external in-band data moving service unit 9 links to an application server 8, a source storage 10 and a target storage 11. A scheduled downtime is needed for implementing the in-band infrastructure of the data moving service unit 9. It issues a snapshot command to the source storage 10 and starts copying the snapshot image to the target storage 11. The ‘dual write’ is because after the snapshot point of time, the data moving service unit 9 processes all new write commands to the source storage 10 and the target storage 11. Finally, the source storage 10 and the target storage 11 switch roles when the copy of the snapshot image completes and all new writes are done.
In addition to the in-band infrastructure which causes bottleneck of data reconstruction, the dual write and snapshot image copying method also makes the application server 8 experience service interruption since the source storage 10 needs to process read and write operations at the same time for a long period until both snapshot image copying and new write commands operations are completed. The dual write and snapshot image copying method is still not so convenient for data copying or moving.
Hence, a system for achieving non-interruptive data reconstruction, especially applied in storages for the servers of cloud services, is required.